package com.ynet.middleground.user.bean;

import javax.validation.constraints.NotBlank;

import com.ynet.core.common.BaseReqObj;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * GetIndividualFaceReq 获取个人人脸核身认证地址请求信息
 *
 * @author suremotoo
 * @date 2022/12/08 15:35
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "获取个人人脸核身认证地址请求信息", description = "获取个人人脸核身认证地址请求信息")
public class GetIndividualFaceReq extends BaseReqObj {

    private static final long serialVersionUID = 5790062760234678136L;

    @ApiModelProperty(value = "姓名", notes = "姓名", required = true)
    @NotBlank(message = "姓名不能为空")
    private String name;

    @ApiModelProperty(value = "身份证号", notes = "身份证号", required = true)
    @NotBlank(message = "身份证号不能为空")
    private String idNo;

    @ApiModelProperty(value = "指定刷脸认证方式\n" + "TENCENT - 腾讯云认证\n" + "ZHIMACREDIT - 支付宝芝麻信用认证\n" + "ESIGN - e 签宝刷脸",
        notes = "指定刷脸认证方式\n" + "TENCENT - 腾讯云认证\n" + "ZHIMACREDIT - 支付宝芝麻信用认证\n" + "ESIGN - e 签宝刷脸", required = true)
    @NotBlank(message = "指定刷脸认证方式不能为空")
    private String faceauthMode;

    @ApiModelProperty(value = "认证完成后重定向地址", notes = "认证完成后重定向地址", required = true)
    @NotBlank(message = "认证完成后重定向地址不能为空")
    private String callbackUrl;

    @ApiModelProperty(value = "自定义业务标识\n" + "（用于关联开发者的业务系统，将在异步通知及跳转时携带返回）",
        notes = "自定义业务标识\n" + "（用于关联开发者的业务系统，将在异步通知及跳转时携带返回）")
    private String contextId;

    @ApiModelProperty(value = "认证结束后异步通知地址", notes = "认证结束后异步通知地址")
    private String notifyUrl;
}
